home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 090 / gcord.arc / GLOBALS.DOC next >
Encoding:
Text File  |  1985-07-28  |  10.9 KB  |  529 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.                                   G L O B A L S
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.                                       T h e
  21.  
  22.                                    G l o b a l
  23.  
  24.                               C o n c o r d a n c e
  25.  
  26.                                 G e n e r a t o r 
  27.  
  28.  
  29.  
  30.  
  31.  
  32.                        (c) Copyright 1985, Arnold E. Jones
  33.                                ALL RIGHTS RESERVED
  34.  
  35.  
  36.  
  37.                                  March 11, 1985
  38.                                   Version 1.00 
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.                                  U S E R W A R E
  72.                              User-Supported Software
  73.  
  74.                If you are using this program and finding it of value,  
  75.                your contribution ($35 suggested) will be appreciated.  
  76.                                                                        
  77.                                  Arnold E. Jones                       
  78.                                  P.O. Box 27956                        
  79.                                  Orlando, FL  32867-7956               
  80.                                                                        
  81.              When  you send in a contribution I will send you a  diskette 
  82.         which  contains the source and any new revisions to the  program. 
  83.         Your name will go on a mailing list and you will recieve any news 
  84.         about a new version or new programs which I have available.
  85.  
  86.              You are encouraged to copy and share this program with other 
  87.         users,  on  the conditions that the program is not distrubuted in 
  88.         modified form,  that no fee or consideration is charged, and that 
  89.         this notice is not bypassed or removed. 
  90.                                                                        
  91.                        Copyright (c) 1985 Arnold E. Jones.
  92.                              ALL RIGHTS RESERVED
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.         INTRODUCTION
  138.  
  139.              A  concordance  is  an  alphabetical  index  of  the  GLOBAL 
  140.         (PUBLIC)  symbols in a program,  showing which object module  the 
  141.         symbol  was  defined in,  and which object modules reference  the 
  142.         symbol.   This program is similiar to a cross reference  program, 
  143.         but a cross reference program works with only one source file.
  144.  
  145.  
  146.              This  utility  is most useful when a program consists  of  a 
  147.         large  group  of  object  modules.  Once you  generate  a  Global 
  148.         Concordance  for your program it will be very easy to answer  the 
  149.         following questions:
  150.  
  151.                        . In which module did I define ASCBIN ?
  152.  
  153.                        . In which segment is ASCBIN located ?
  154.  
  155.                        . Which modules reference ASCBIN ?
  156.  
  157.  
  158.  
  159.              Where  ASCBIN  is some symbol defined as a  public  in  your 
  160.         program.  The symbols may be either program or data symbols.
  161.  
  162.  
  163.              The  input  to  GLOBALS  is the same as the  input  to  your 
  164.         linker, a  list  of MicroSoft compatiable  object  modules.  These 
  165.         object modules can be from any of the language compilers, and you 
  166.         may  mix languages.   For example if one of your C modules  calls 
  167.         an assembler module,  the both may be listed.   GLOBALS will then 
  168.         scan your list of object modules to produce a Global Concordance.
  169.  
  170.  
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.  
  178.  
  179.  
  180.  
  181.  
  182.  
  183.  
  184.  
  185.  
  186.  
  187.  
  188.  
  189.  
  190.  
  191.  
  192.  
  193.                                         1
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.         INSTRUCTIONS
  204.  
  205.  
  206.              GLOBALS may be invoked in 2 ways.   By the first method, the 
  207.         user  enters the commands as answers to individual  prompts.   By 
  208.         the second method,  the user creates a command file that contains 
  209.         all the necessary commands.
  210.  
  211.  
  212.              Method 1:      GLOBALS
  213.  
  214.              Method 2:      GLOBALS cmdfile
  215.  
  216.  
  217.  
  218.         METHOD 1:
  219.  
  220.              Enter:
  221.  
  222.                        GLOBALS
  223.  
  224.  
  225.              GLOBALS will be loaded into memory.   Then GLOBALS returns a 
  226.         series of three text prompts that appear one at a time.  The user 
  227.         answers  the prompts as commands to GLOBALS.   The prompts are as 
  228.         follows:
  229.  
  230.  
  231.              Prompt                        Response
  232.              ______                        _____________________________
  233.  
  234.              Object Modules [.OBJ]:        List all .OBJ files to be
  235.                                            scanned, seperated by a plus
  236.                                            sign (+). If the plus sign is
  237.                                            the last character entered,
  238.                                            the prompt will reappear. This
  239.                                            allows entry of long lists.
  240.                                            (max 256 object modules)
  241.  
  242.              List File [first.GC]:         This is the file which will
  243.                                            contain the Global Concordance
  244.                                            Report. It defaults to the
  245.                                            name of your first object
  246.                                            module.  Just depress enter
  247.                                            to use the default name.
  248.  
  249.              Libraries []:                 List all .LIB files to be
  250.                                            scanned, seperated by a plus
  251.                                            sign (+). If the plus sign is
  252.                                            the last character entered,
  253.                                            the prompt will reappear. This
  254.                                            allows entry of long lists.
  255.                                            (max 8 libraries)
  256.  
  257.  
  258.  
  259.                                         2
  260.  
  261.  
  262.  
  263.  
  264.  
  265.  
  266.  
  267.  
  268.  
  269.  
  270.                   Example:
  271.  
  272.  
  273.                   Object Modules [.OBJ]:   GRAPH+BAR+PIE+SUBS
  274.                   List File [GRAPH.GC]:
  275.                   Libraries [.LIB]: GRCMDS
  276.  
  277.  
  278.              In the above example, the files GRAPH.OBJ, BAR.OBJ, PIE.OBJ, 
  279.         and SUBS.OBJ will be scanned for symbols.  The library GRCMDS.LIB 
  280.         will also be scanned for symbols.   The Global Concordance Report 
  281.         will be printed to the file GRAPH.GC.
  282.  
  283.  
  284.  
  285.                   Example:
  286.  
  287.  
  288.                   Object Modules [.OBJ]:   GRAPH+BAR+PIE+
  289.                   Object Modules [.OBJ]:   SCATTER+DOT+SUBS
  290.                   List File [GRAPH.GC]:    MAP
  291.                   Libraries [.LIB]: GRCMDS
  292.  
  293.  
  294.              In the above example, the files GRAPH.OBJ, BAR.OBJ, PIE.OBJ, 
  295.         SCATTER.OBJ,  DOT.OBJ,  and SUBS.OBJ will be scanned for symbols.  
  296.         The  library  GRCMDS.LIB will also be scanned for  symbols.   The 
  297.         Global Concordance Report will be printed to the file MAP.GC.
  298.  
  299.  
  300.  
  301.  
  302.  
  303.  
  304.  
  305.  
  306.  
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.                                         3
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.         METHOD 2
  336.  
  337.              Enter:
  338.  
  339.                        GLOBALS cmdfile
  340.  
  341.              Where:
  342.  
  343.              cmdfile  is the name of a command file.   A command  file 
  344.         contains answers to the GLOBALS prompts (shown under method 1).
  345.          
  346.              A  command  file  has  text  lines,  one  for  each  prompt.  
  347.         Responses  must appear in the same order as the  command  prompts 
  348.         appear.   When  the GLOBALS session begins,  each prompt will  be 
  349.         displayed  in turn with the responses from the command  file.  If 
  350.         the  command  file does not contain answers for all the  prompts, 
  351.         GLOBALS will,  after displaying the prompt which does not have  a 
  352.         response,  wait  for the user to enter a legal response from  the 
  353.         keyboard.   When  the  legal response has been  entered,  GLOBALS 
  354.         continues execution.     
  355.  
  356.  
  357.              Example:
  358.  
  359.                   GRAPH+BAR+PIE+SUBS
  360.                   MAP
  361.                   GRCMDS
  362.  
  363.  
  364.              Assume  the  above information is contained in a  text  file 
  365.         called BUILD.   Then the command 'GLOBALS BUILD' will perform the 
  366.         following:
  367.  
  368.              The files GRAPH.OBJ,  BAR.OBJ, PIE.OBJ, and SUBS.OBJ will be 
  369.         scanned for symbols.  The library GRCMDS.LIB will also be scanned 
  370.         for  symbols.   The Global Concordance Report will be printed  to 
  371.         the file MAP.GC.
  372.  
  373.  
  374.  
  375.  
  376.  
  377.  
  378.  
  379.  
  380.  
  381.  
  382.  
  383.  
  384.  
  385.  
  386.  
  387.  
  388.  
  389.  
  390.  
  391.                                         4
  392.  
  393.  
  394.  
  395.  
  396.  
  397.  
  398.  
  399.  
  400.         GLOBAL CONCORDANCE REPORT
  401.  
  402.  
  403.              The  Global  Concordance Report consists of  a  header  page 
  404.         followed  by the main body of the report.   The header page  will 
  405.         give  a  list  of  all object modules and  libraries  which  were 
  406.         scanned to produce the report.
  407.  
  408.              The  main body of the report consists of entrys for all  the 
  409.         symbols in alphabetical order.  Each entry follows the  following 
  410.         format:
  411.  
  412.              SYMNAM    Def: MODNAM   Seg: SEGNAM   Lib: LIBNAM
  413.                        MODREF1  MODREF2  MODREF3  MODREF4
  414.  
  415.  
  416.              Where SYMNAM is the name of the public symbol, MODNAM is the 
  417.         name of the object module in which the symbol is defined,  SEGNAM 
  418.         is  the  name  of the 8086 segment in which the  symbol  resides. 
  419.         The LIBNAM is an optional Library name which only appears if  the 
  420.         MODNAM  object  module is contained in the library  specified  by 
  421.         LIBNAM.  MODREF1, MODREF2, MODREF3, etc.., specify object modules 
  422.         which reference the specified symbol name,  SYMNAM is  considered 
  423.         an external symbol to these object modules.
  424.  
  425.              The  following  is  an example of a symbol  entry  from  the 
  426.         Global Concordance Report:
  427.  
  428.              DRAWPIE   Def: PIE    Seg: CODE
  429.                        GRAPH   MENU   EXEC
  430.  
  431.  
  432.              The  above entry tells us that the symbol DRAWPIE is defined 
  433.         in  the  object  module PIE.OBJ and it is  located  in  the  CODE 
  434.         segment.  The  symbol  is  referenced by the  modules  GRAPH.OBJ, 
  435.         MENU.OBJ, and EXEC.OBJ.
  436.  
  437.  
  438.              When a symbol which has been referenced by other modules but 
  439.         not defined in a module,  it is classified as an undefined symbol 
  440.         and its entry will be printed as follows:
  441.  
  442.              SYMNAM    Def: ********  Seg: ????????
  443.                        MODREF1  MODREF2  MODREF3
  444.  
  445.  
  446.  
  447.  
  448.  
  449.  
  450.  
  451.  
  452.  
  453.  
  454.  
  455.  
  456.  
  457.                                         5
  458.  
  459.  
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.         SPECIAL NOTES
  468.  
  469.  
  470.              . Supports a maximum of 256 object modules
  471.  
  472.              . Supports a maximum of 8 libraries
  473.  
  474.              . Supports a symbol length of upto 10 characters
  475.  
  476.  
  477.                   
  478.  
  479.  
  480.  
  481.  
  482.  
  483.  
  484.  
  485.  
  486.  
  487.  
  488.  
  489.  
  490.  
  491.  
  492.  
  493.  
  494.  
  495.  
  496.  
  497.  
  498.  
  499.  
  500.  
  501.  
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.                                         6
  524.  
  525.  
  526.  
  527.  
  528.  
  529.